home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / OpenDoc 1.2b2c1 / OpenDoc / Interfaces / C / PstObj.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-02-13  |  10.3 KB  |  306 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: PstObj.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emith.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODPersistentObject_h
  18. #define SOM_ODPersistentObject_h
  19.  
  20.  
  21. #include <som.h>
  22.  
  23. /*
  24.  * -- This emitter treats Method Tokens as Thunks by default.
  25.  * -- Use the sc modifier "nothunks" to change this default
  26.  */
  27. #undef somresolve_
  28. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  29.  
  30. /*
  31.  * Define the class name as an object type
  32.  */
  33. #ifndef ODPersistentObject
  34. #define ODPersistentObject SOMObject
  35. #endif
  36. #include <RefCtObj.h>
  37.  
  38. /*
  39.  * Start of user-defined types:
  40.  */
  41. #ifndef SOMClass
  42.     #define SOMClass SOMObject
  43. #endif /* SOMClass */
  44. #ifndef SOMObject
  45.     #define SOMObject SOMObject
  46. #endif /* SOMObject */
  47. #ifndef ODFrame
  48.     #define ODFrame SOMObject
  49. #endif /* ODFrame */
  50. #ifndef ODFacet
  51.     #define ODFacet SOMObject
  52. #endif /* ODFacet */
  53. #ifndef ODObject
  54.     #define ODObject SOMObject
  55. #endif /* ODObject */
  56. #ifndef ODExtension
  57.     #define ODExtension SOMObject
  58. #endif /* ODExtension */
  59. #ifndef ODRefCntObject
  60.     #define ODRefCntObject SOMObject
  61. #endif /* ODRefCntObject */
  62. #ifndef ODPersistentObject
  63.     #define ODPersistentObject SOMObject
  64. #endif /* ODPersistentObject */
  65. #ifndef ODStorageUnit
  66.     #define ODStorageUnit SOMObject
  67. #endif /* ODStorageUnit */
  68.  
  69. /*
  70.  * End of user-defined types.
  71.  */
  72.  
  73. #define ODPersistentObject_MajorVersion 1
  74. #define ODPersistentObject_MinorVersion 0
  75.  
  76. /*
  77.  * External name shortening if required
  78.  */
  79. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  80. #define ODPersistentObjectClassData d
  81. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  82. /*--------------Migration------------*/
  83.  
  84. #ifdef OLDIBMSOMAPISUPPORT
  85. #define ODPersistentObject_classObj somNewClassReference(ODPersistentObject)
  86. #define _ODPersistentObject ODPersistentObject_classObj
  87. #define ODPersistentObjectCClassData ODPersistentObjectClassData
  88. #define ODPersistentObjectNewClass(major,minor) somNewVersionedClassReference(ODPersistentObject,major,minor)
  89. #endif
  90.  
  91. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  92. #define ODPersistentObjectMetaClass SOMClass
  93.  
  94. #if PRAGMA_ALIGN_SUPPORTED
  95. #  pragma options align=power
  96. #endif
  97.  
  98. /*
  99.  * Declare the class data structure
  100.  */
  101. SOMEXTERN struct ODPersistentObjectClassDataStructure {
  102. #ifdef OLDIBMSOMAPISUPPORT
  103.     SOMAny            *classObject;    /* always zero, use somNewClassReference instead */
  104. #else
  105.     long zero;
  106. #endif
  107.     somStaticClassInfo *sci;
  108.     somDToken        instanceDataToken;
  109.     long reserved [3];
  110.     somMToken InitPersistentObject;
  111.     somMToken InitPersistentObjectFromStorage;
  112.     somMToken ReleaseAll;
  113.     somMToken Externalize;
  114.     somMToken GetStorageUnit;
  115.     somMToken GetID;
  116.     somMToken CloneInto;
  117. } SOMDLINK ODPersistentObjectClassData;
  118.  
  119. #if PRAGMA_ALIGN_SUPPORTED
  120. #  pragma options align=reset
  121. #endif
  122.  
  123. #if !defined(ODPersistentObject_Class_Source) && !defined(SOM_Module_pstobj_Source)
  124. #if PRAGMA_IMPORT_SUPPORTED
  125. #pragma import list ODPersistentObjectClassData
  126. #endif
  127. #endif
  128.  
  129.  
  130. /*
  131.  * New macro for ODPersistentObject
  132.  */
  133. #define ODPersistentObjectNew() somNewObject(ODPersistentObject)
  134.  
  135. /*
  136.  * Override method: somUninit
  137.  */
  138. #define ODPersistentObject_somUninit(somSelf) \
  139.     SOMObject_somUninit(somSelf)
  140.  
  141. /*
  142.  * New Method: InitPersistentObject
  143.  */
  144. typedef void   (SOMLINK *somTD_ODPersistentObject_InitPersistentObject)(ODPersistentObject *somSelf, Environment *ev,
  145.         ODStorageUnit* storageUnit);
  146. #define somMD_ODPersistentObject_InitPersistentObject "::ODPersistentObject::InitPersistentObject"
  147. #define ODPersistentObject_InitPersistentObject(somSelf,ev,storageUnit) \
  148.     (SOM_Resolve(somSelf, ODPersistentObject, InitPersistentObject) \
  149.     (somSelf,ev,storageUnit))
  150. #ifndef SOMGD_InitPersistentObject
  151.     #if (defined(_InitPersistentObject) || defined(__InitPersistentObject))
  152.         #undef _InitPersistentObject
  153.         #undef __InitPersistentObject
  154.         #define SOMGD_InitPersistentObject 1
  155.     #else
  156.         #define _InitPersistentObject ODPersistentObject_InitPersistentObject
  157.     #endif /* _InitPersistentObject */
  158. #endif /* SOMGD_InitPersistentObject */
  159.  
  160. /*
  161.  * New Method: InitPersistentObjectFromStorage
  162.  */
  163. typedef void   (SOMLINK *somTD_ODPersistentObject_InitPersistentObjectFromStorage)(ODPersistentObject *somSelf, Environment *ev,
  164.         ODStorageUnit* storageUnit);
  165. #define somMD_ODPersistentObject_InitPersistentObjectFromStorage "::ODPersistentObject::InitPersistentObjectFromStorage"
  166. #define ODPersistentObject_InitPersistentObjectFromStorage(somSelf,ev,storageUnit) \
  167.     (SOM_Resolve(somSelf, ODPersistentObject, InitPersistentObjectFromStorage) \
  168.     (somSelf,ev,storageUnit))
  169. #ifndef SOMGD_InitPersistentObjectFromStorage
  170.     #if (defined(_InitPersistentObjectFromStorage) || defined(__InitPersistentObjectFromStorage))
  171.         #undef _InitPersistentObjectFromStorage
  172.         #undef __InitPersistentObjectFromStorage
  173.         #define SOMGD_InitPersistentObjectFromStorage 1
  174.     #else
  175.         #define _InitPersistentObjectFromStorage ODPersistentObject_InitPersistentObjectFromStorage
  176.     #endif /* _InitPersistentObjectFromStorage */
  177. #endif /* SOMGD_InitPersistentObjectFromStorage */
  178.  
  179. /*
  180.  * New Method: ReleaseAll
  181.  */
  182. typedef void   (SOMLINK *somTD_ODPersistentObject_ReleaseAll)(ODPersistentObject *somSelf, Environment *ev);
  183. #define somMD_ODPersistentObject_ReleaseAll "::ODPersistentObject::ReleaseAll"
  184. #define ODPersistentObject_ReleaseAll(somSelf,ev) \
  185.     (SOM_Resolve(somSelf, ODPersistentObject, ReleaseAll) \
  186.     (somSelf,ev))
  187. #ifndef SOMGD_ReleaseAll
  188.     #if (defined(_ReleaseAll) || defined(__ReleaseAll))
  189.         #undef _ReleaseAll
  190.         #undef __ReleaseAll
  191.         #define SOMGD_ReleaseAll 1
  192.     #else
  193.         #define _ReleaseAll ODPersistentObject_ReleaseAll
  194.     #endif /* _ReleaseAll */
  195. #endif /* SOMGD_ReleaseAll */
  196.  
  197. /*
  198.  * New Method: Externalize
  199.  */
  200. typedef void   (SOMLINK *somTD_ODPersistentObject_Externalize)(ODPersistentObject *somSelf, Environment *ev);
  201. #define somMD_ODPersistentObject_Externalize "::ODPersistentObject::Externalize"
  202. #define ODPersistentObject_Externalize(somSelf,ev) \
  203.     (SOM_Resolve(somSelf, ODPersistentObject, Externalize) \
  204.     (somSelf,ev))
  205. #ifndef SOMGD_Externalize
  206.     #if (defined(_Externalize) || defined(__Externalize))
  207.         #undef _Externalize
  208.         #undef __Externalize
  209.         #define SOMGD_Externalize 1
  210.     #else
  211.         #define _Externalize ODPersistentObject_Externalize
  212.     #endif /* _Externalize */
  213. #endif /* SOMGD_Externalize */
  214.  
  215. /*
  216.  * New Method: GetStorageUnit
  217.  */
  218. typedef ODStorageUnit*   (SOMLINK *somTD_ODPersistentObject_GetStorageUnit)(ODPersistentObject *somSelf, Environment *ev);
  219. #define somMD_ODPersistentObject_GetStorageUnit "::ODPersistentObject::GetStorageUnit"
  220. #define ODPersistentObject_GetStorageUnit(somSelf,ev) \
  221.     (SOM_Resolve(somSelf, ODPersistentObject, GetStorageUnit) \
  222.     (somSelf,ev))
  223. #ifndef SOMGD_GetStorageUnit
  224.     #if (defined(_GetStorageUnit) || defined(__GetStorageUnit))
  225.         #undef _GetStorageUnit
  226.         #undef __GetStorageUnit
  227.         #define SOMGD_GetStorageUnit 1
  228.     #else
  229.         #define _GetStorageUnit ODPersistentObject_GetStorageUnit
  230.     #endif /* _GetStorageUnit */
  231. #endif /* SOMGD_GetStorageUnit */
  232.  
  233. /*
  234.  * New Method: GetID
  235.  */
  236. typedef ODID   (SOMLINK *somTD_ODPersistentObject_GetID)(ODPersistentObject *somSelf, Environment *ev);
  237. #define somMD_ODPersistentObject_GetID "::ODPersistentObject::GetID"
  238. #define ODPersistentObject_GetID(somSelf,ev) \
  239.     (SOM_Resolve(somSelf, ODPersistentObject, GetID) \
  240.     (somSelf,ev))
  241. #ifndef SOMGD_GetID
  242.     #if (defined(_GetID) || defined(__GetID))
  243.         #undef _GetID
  244.         #undef __GetID
  245.         #define SOMGD_GetID 1
  246.     #else
  247.         #define _GetID ODPersistentObject_GetID
  248.     #endif /* _GetID */
  249. #endif /* SOMGD_GetID */
  250.  
  251. /*
  252.  * New Method: CloneInto
  253.  */
  254. typedef void   (SOMLINK *somTD_ODPersistentObject_CloneInto)(ODPersistentObject *somSelf, Environment *ev,
  255.         ODDraftKey key,
  256.         ODStorageUnit* toSU,
  257.         ODFrame* scope);
  258. #define somMD_ODPersistentObject_CloneInto "::ODPersistentObject::CloneInto"
  259. #define ODPersistentObject_CloneInto(somSelf,ev,key,toSU,scope) \
  260.     (SOM_Resolve(somSelf, ODPersistentObject, CloneInto) \
  261.     (somSelf,ev,key,toSU,scope))
  262. #ifndef SOMGD_CloneInto
  263.     #if (defined(_CloneInto) || defined(__CloneInto))
  264.         #undef _CloneInto
  265.         #undef __CloneInto
  266.         #define SOMGD_CloneInto 1
  267.     #else
  268.         #define _CloneInto ODPersistentObject_CloneInto
  269.     #endif /* _CloneInto */
  270. #endif /* SOMGD_CloneInto */
  271. #ifndef SOM_DONT_USE_INHERITED_MACROS
  272. #define ODPersistentObject_InitRefCntObject ODRefCntObject_InitRefCntObject
  273. #define ODPersistentObject_Acquire ODRefCntObject_Acquire
  274. #define ODPersistentObject_Release ODRefCntObject_Release
  275. #define ODPersistentObject_GetRefCount ODRefCntObject_GetRefCount
  276. #define ODPersistentObject_InitObject ODObject_InitObject
  277. #define ODPersistentObject_HasExtension ODObject_HasExtension
  278. #define ODPersistentObject_AcquireExtension ODObject_AcquireExtension
  279. #define ODPersistentObject_ReleaseExtension ODObject_ReleaseExtension
  280. #define ODPersistentObject_Purge ODObject_Purge
  281. #define ODPersistentObject_IsEqualTo ODObject_IsEqualTo
  282. #define ODPersistentObject_SubClassResponsibility ODObject_SubClassResponsibility
  283. #define ODPersistentObject_somInit SOMObject_somInit
  284. #define ODPersistentObject_somInit SOMObject_somInit
  285. #define ODPersistentObject_somDuplicateReference SOMObject_somDuplicateReference
  286. #define ODPersistentObject_somCompareReference SOMObject_somCompareReference
  287. #define ODPersistentObject_somRelease SOMObject_somRelease
  288. #define ODPersistentObject_somFree SOMObject_somFree
  289. #define ODPersistentObject_somCanDelete SOMObject_somCanDelete
  290. #define ODPersistentObject_somGetClass SOMObject_somGetClass
  291. #define ODPersistentObject_somGetClassName SOMObject_somGetClassName
  292. #define ODPersistentObject_somGetSize SOMObject_somGetSize
  293. #define ODPersistentObject_somIsA SOMObject_somIsA
  294. #define ODPersistentObject_somRespondsTo SOMObject_somRespondsTo
  295. #define ODPersistentObject_somIsInstanceOf SOMObject_somIsInstanceOf
  296. #define ODPersistentObject_somDispatch SOMObject_somDispatch
  297. #define ODPersistentObject_somClassDispatch SOMObject_somClassDispatch
  298. #define ODPersistentObject_somCastObj SOMObject_somCastObj
  299. #define ODPersistentObject_somResetObj SOMObject_somResetObj
  300. #define ODPersistentObject_somPrintSelf SOMObject_somPrintSelf
  301. #define ODPersistentObject_somDumpSelf SOMObject_somDumpSelf
  302. #define ODPersistentObject_somDumpSelfInt SOMObject_somDumpSelfInt
  303. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  304.  
  305. #endif       /* SOM_ODPersistentObject_h */
  306.